x86/vtd: Fix S3 resume following c/s 650c31d3af
authorAndrew Cooper <andrew.cooper3@citrix.com>
Mon, 12 Aug 2019 17:08:00 +0000 (18:08 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Fri, 23 Aug 2019 12:00:06 +0000 (13:00 +0100)
commit7aae9c1c916d1522001bc7f4ea1846c9d62bda8b
tree3a753b8a08ae4bbb37070de9958939e638adfd29
parenta1dc65aaf470fa01f394e01ab6747d135961a0ae
x86/vtd: Fix S3 resume following c/s 650c31d3af

c/s 650c31d3af "x86/IRQ: fix locking around vector management" adjusted the
locking in adjust_irq_affinity().

The S3 path ends up here via iommu_resume() before interrupts are enabled, at
which point spin_lock_irq() fails ASSERT(local_irq_is_enabled()); but with no
working console.

Use spin_lock_irqsave() instead to cope with interrupts already being
disabled.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
xen/drivers/passthrough/vtd/iommu.c